#include <bits/stdc++.h>
using namespace std;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	bool flag;
	string s;
	cin >> s;
	for (int i = 0; i < s.size(); ++i)
	{
		cout << s[i];
		if (s[i] == '-')
		{
			++i;
			cout << s[i];
			flag = false;		   // true表示已经输出过非0的数了
			if (isdigit(s[i + 1])) // 可以开始操作
			{					   // 以-100-10001000+1000-1000+110000、-412000和-4000为例
				++i;
				while (isdigit(s[i]))
				{
					if (s[i] == '0')
					{
						if (!flag)
						{
							cout << '+' << s[i];
						}
						else
						{
							cout << s[i];
						}
					}
					else
					{
						if (!flag)
						{
							cout << '+' << s[i];
							flag = true;
						}
						else
						{
							cout << s[i];
						}
					}
					if (isdigit(s[i + 1]))
					{
						++i;
					}
					else
					{
						break;
					}
				}
			}
		}
	}
	return 0;
}

// 错误代码
// #include <bits/stdc++.h>
// using namespace std;

// int main()
// {
// 	ios::sync_with_stdio(false);
// 	cin.tie(nullptr);
// 	cout.tie(nullptr);
// 	string s;
// 	cin >> s;
// 	for (int i = 0; i < s.size(); ++i)
// 	{
// 		cout << s[i];
// 		if (s[i] == '-')
// 		{
// 			++i;
// 			cout << s[i];
// 			if (isdigit(s[i + 1])) // 可以开始操作
// 			{					   // 以-100-10001000+1000-1000+110000、-412000和-4000为例
// 				++i;
// 				while (i < s.size() && s[i] == '0')
// 				{
// 					cout << "+0";
// 					++i;
// 				}
// 				if (i < s.size())
// 				{
// 					cout << s[i];
// 				}
// 			}
// 		}
// 		else if (s[i - 1] == '-') // 跳过头了，回一格
// 		{
// 			++i;
// 			cout << '+' << s[i];
// 			if (isdigit(s[i + 1])) // 可以开始操作
// 			{					   // 以-100-10001000+1000-1000+110000、-412000和-4000为例
// 				++i;
// 				while (i < s.size() && s[i] == '0')
// 				{
// 					cout << "+0";
// 					++i;
// 				}
// 				if (i < s.size())
// 				{
// 					cout << s[i];
// 				}
// 			}
// 		}
// 	}
// 	return 0;
// }
